﻿#define _CRT_SECURE_NO_WARNINGS//打印菱形
//#include<stdio.h>
//#include<string.h>
//int main()
//{
//	char arr[] = "      *      ";
//	int left = 0;
//	int right = 0;
//	int mid = strlen(arr) / 2;
//	right = strlen(arr);
//	printf("%s\n", arr);
//	for (int i = 1; i < right - mid; i++)
//	{
//		arr[mid + i] = '*';
//		arr[mid - i] = '*';
//		printf("%s\n", arr);
//	}
//	while (left < right)
//	{
//		arr[left] = ' ';
//		arr[right - 1] = ' ';
//		printf("%s\n", arr);
//		left += 1;
//		right -= 1;
//	}
//
//
//	return 0;
//}
#include <stdio.h>
int main()
{
	int line = 0;
	int i = 0;
	int j = 0;
	printf("请输入你要打印的行数\n");
	scanf("%d", &line);

	//先打印上部分的三角形
	for (i = 1; i <= line; i++) //打印上半部分的line行
	{
		//打印每一行的前面的空格
		for (j = 1; j <= line - i; j++)
		{
			printf(" ");
		}
		//打印每一行空格后面的星号
		for (j = 1; j <= 2 * i - 1; j++)
		{
			printf("*");
		}
		printf("\n"); //每一行完成后记得要换行
	}

	//方法二
	for (i = line - 1; i > 0; i--) // 注意下半部分有 line - 1行
	{
		//打印每一行前面的空格
		for (j = 1; j <= line - i; j++)
		{
			printf(" ");
		}
		//打印每一行空格后面的星号
		for (j = 1; j <= 2 * i - 1; j++)
		{
			printf("*");
		}

		printf("\n"); //每一行完成要换行
	}
}
